#%%
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint

#一阶微分方程的例子
def diff_equation(y_list, x):
    y1, y2, y3 = y_list
    return np.array([y2 * y3, -y1 * y3,-0.51 * y1 * y2])  #微分方程格式，左边一定是dy/dx,返回右边

x = np.linspace(0, 12, 100000)  #初始点是0,终点是12，其中有100个点
result = odeint(diff_equation, [0, 1, 1], x)  #中间那个是y初值
#%%
plt.plot(x, result[:, 0], label='y1')  #result整个矩阵的第一列
plt.plot(x, result[:, 1], label='y2')
plt.plot(x, result[:, 2], label='y3')

plt.legend()
plt.grid()  #网格
plt.show()  #这是y=f(x)的图像
# %%
